package com.soft.mainsite.module.data.service;

import com.soft.mainsite.common.domain.RestResponse;
import com.soft.mainsite.module.data.dto.FavoriteDTO;
import com.soft.mainsite.module.data.dto.UserDataDeleteDTO;
import com.soft.mainsite.module.data.entity.UserData;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author: hjm
 * @Date: 2020/11/28 23:25
 * Stay hungry,stay foolish!
 */
public interface UserDataService {

    /**
     * 小程序使用，领取资料
     *
     * @param userData 用户数据实例
     * @return 是否领取成功
     */
    RestResponse saveUserData(UserData userData);

    /**
     * 小程序使用，根据用户手机号和资料id删除用户已领取的资料
     *
     * @param userDataDeleteDTO 删除资料dto
     * @return 是否删除成功
     */
    RestResponse delete(UserDataDeleteDTO userDataDeleteDTO);

    /**
     * 小程序使用，根据用户手机号查询用户领取的资料列表（按时间分组并按时间降序排列）
     *
     * @param favoriteDTO 用户手机号
     * @return 用户领取的资料列表（按时间分组并按时间降序排列）
     */
    RestResponse userDataList(FavoriteDTO favoriteDTO);

    /**
     * 小程序使用，用户添加收藏资料
     *
     * @param favoriteDTO 用户领取id
     * @return 添加收藏是否成功
     */
    RestResponse addFavorite(FavoriteDTO favoriteDTO);

    /**
     * 小程序使用，用户取消收藏资料
     *
     * @param favoriteDTO 用户领取id
     * @return 取消收藏是否成功
     */
    RestResponse cancelFavorite(FavoriteDTO favoriteDTO);
}
